/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package petstore.model;

import java.util.Collection;
import javax.persistence.AttributeOverride;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Entity class NotaFiscal
 * 
 * @author Tom Hayden
 */
@Entity
@Table(name = "nota_fiscal")
@AttributeOverride(name="id", column=@Column(name="nrnotafiscal"))
public class NotaFiscal extends BusinessObject {

    @Column(name = "vlrbaseicms")
    private Double valorBaseICMS;
    
    @Column(name = "vlricms")
    private Double valorICMS;
    
    @Column(name = "vlrbaseiss")
    private Double valorBaseISS;
    
    @Column(name = "vlriss")
    private Double valorISS;
    
    @Column(name = "vlrtotprodnotafiscal")
    private Double valorTotalProduto;
    
    @Column(name = "vlrtotservinotafiscal")
    private Double valorTotalServico;
    
    @Column(name = "prccotaicms")
    private Double percentualCotaICMS;
    
    @Column(name = "prccotaiss")
    private Double percentualCotaISS;
    
    @ManyToOne
    @JoinColumn(name="cdvenda")
    private Venda venda;
    
    @OneToMany(cascade = CascadeType.ALL)
    private Collection<ItemProdutoNF> itensProduto;

    @OneToMany(cascade = CascadeType.ALL)
    private Collection<ItemServicoNF> itensServico;
    
    /** Creates a new instance of NotaFiscal */
    public NotaFiscal() {
    }

    public Double getValorBaseICMS() {
        return valorBaseICMS;
    }

    public void setValorBaseICMS(Double valorBaseICMS) {
        this.valorBaseICMS = valorBaseICMS;
    }

    public Double getValorICMS() {
        return valorICMS;
    }

    public void setValorICMS(Double valorICMS) {
        this.valorICMS = valorICMS;
    }

    public Double getValorBaseISS() {
        return valorBaseISS;
    }

    public void setValorBaseISS(Double valorBaseISS) {
        this.valorBaseISS = valorBaseISS;
    }

    public Double getValorISS() {
        return valorISS;
    }

    public void setValorISS(Double valorISS) {
        this.valorISS = valorISS;
    }

    public Double getValorTotalProduto() {
        return valorTotalProduto;
    }

    public void setValorTotalProduto(Double valorTotalProduto) {
        this.valorTotalProduto = valorTotalProduto;
    }

    public Double getValorTotalServico() {
        return valorTotalServico;
    }

    public void setValorTotalServico(Double valorTotalServico) {
        this.valorTotalServico = valorTotalServico;
    }

    public Double getPercentualCotaICMS() {
        return percentualCotaICMS;
    }

    public void setPercentualCotaICMS(Double percentualCotaICMS) {
        this.percentualCotaICMS = percentualCotaICMS;
    }

    public Double getPercentualCotaISS() {
        return percentualCotaISS;
    }

    public void setPercentualCotaISS(Double percentualCotaISS) {
        this.percentualCotaISS = percentualCotaISS;
    }

    public Venda getVenda() {
        return venda;
    }

    public void setVenda(Venda venda) {
        this.venda = venda;
    }

    public Collection<ItemProdutoNF> getItensProduto() {
        return itensProduto;
    }

    public void setItensProduto(Collection<ItemProdutoNF> itensProduto) {
        this.itensProduto = itensProduto;
    }

    public Collection<ItemServicoNF> getItensServico() {
        return itensServico;
    }

    public void setItensServico(Collection<ItemServicoNF> itensServico) {
        this.itensServico = itensServico;
    }

}
